export interface TransformConfig {
  // 基础配置
  framework: 'react' | 'vue' | 'vue3';
  typescript: boolean;
  
  // 转换规则
  rules: {
    // 页面转换规则
    pages: {
      transformLifecycle: boolean;
      transformData: boolean;
      transformMethods: boolean;
    };
    
    // 组件转换规则
    components: {
      transformProps: boolean;
      transformEvents: boolean;
      transformSlots: boolean;
    };
    
    // API转换规则
    apis: {
      transformWxAPI: boolean;
      customAPIMapping: Record<string, string>;
    };
    
    // 样式转换规则
    styles: {
      transformWXSS: boolean;
      transformCSSVars: boolean;
    };
  };
  
  // 输出配置
  output: {
    generateTypes: boolean;
    generateDocs: boolean;
    prettier: boolean;
  };
  
  // 忽略文件
  ignore: string[];
}

export interface TransformOptions {
  sourcePath: string;
  outputPath: string;
  config: TransformConfig;
  force: boolean;
  dryRun: boolean;
}

export interface FileInfo {
  path: string;
  content: string;
  type: 'js' | 'wxml' | 'wxss' | 'json' | 'ts' | 'tsx' | 'vue' | 'css';
}

export interface TransformResult {
  success: boolean;
  files: FileInfo[];
  errors: string[];
  warnings: string[];
} 